Skip to content

Add Direct IP Connection feature for LAN play#39

Open
FPSZ wants to merge 8 commits intoLyraedan:mainfrom
FPSZ:main
Open

Add Direct IP Connection feature for LAN play#39
FPSZ wants to merge 8 commits intoLyraedan:mainfrom
FPSZ:main

Conversation

@FPSZ
Copy link
Copy Markdown

@FPSZ FPSZ commented Dec 25, 2025

Summary

Adds Direct IP Connection for LAN/Internet play without Steam P2P.

How to Use

  • Press Shift+F2 to open menu
  • Host: Enter port → Create Room
  • Client: Enter IP and port → Join Room

Files Changed

  • DirectConnection.cs (New)
  • PacketSender.cs (Modified)
  • DebugMenu.cs (Modified)
  • README.md (Updated)

FPSZ added 8 commits December 25, 2025 20:32
## Summary

This PR adds a **Direct IP Connection** feature that allows players to connect via TCP/IP without relying on Steam P2P networking.

## Use Cases
- LAN play with lower latency
- Playing without Steam relay servers
- Regions where Steam P2P has connectivity issues
- Testing and development

## Changes

### New Files
- `ClassLibrary1/Networking/DirectConnection.cs` - Complete TCP networking system

### Modified Files
- `ClassLibrary1/Networking/PacketSender.cs` - Added DirectIP mode routing
- `ClassLibrary1/DebugTools/DebugMenu.cs` - Added Direct Connect UI

## Features
- Server hosting on port 11000 (configurable)
- Client connection via IP address
- Packet framing with length prefix
- Thread-safe client management
- Auto local IP detection
- New hotkey: Shift+F2 for Direct Connect window

## Usage

### As Host:
1. Press `Shift + F2`
2. Click "Create Room (Host)"
3. Share displayed IP with friend

### As Client:
1. Press `Shift + F2`
2. Enter host's IP address
3. Click "Join Room (Join)"

## Network Requirements
- **LAN**: No setup needed, use local IP
- **Internet**: Port forward 11000 TCP, or use ZeroTier/Tailscale
@Lyraedan
Copy link
Copy Markdown
Owner

Are you able to get this updated to the latest version of main?

@Lyraedan
Copy link
Copy Markdown
Owner

Lyraedan commented Mar 27, 2026

Update: This feature is fully functional in the lan branch. You can test it now and open the menu with SHIFT+F2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants